package org.fin.framework.ioc.beans;

import java.util.List;

public class BeanDefinition {

  private String id;

  private Object bean;

  private Class<?> type;

  private List<DependencyDefinition> dependencyDefinitions;

  private boolean isAbstract;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public Class<?> getType() {
    return type;
  }

  public void setType(Class<?> type) {
    this.type = type;
  }

  public Object getBean() {
    return bean;
  }

  public void setBean(Object bean) {
    this.bean = bean;
  }

  public List<DependencyDefinition> getDependencyDefinitions() {
    return dependencyDefinitions;
  }

  public void setDependencyDefinitions(List<DependencyDefinition> dependencyDefinitions) {
    this.dependencyDefinitions = dependencyDefinitions;
  }

  public boolean isAbstract() {
    return isAbstract;
  }

  public void setAbstract(boolean anAbstract) {
    isAbstract = anAbstract;
  }

  @Override
  public String toString() {
    return "BeanDefinition{" +
        "id='" + id + '\'' +
        ", bean=" + bean +
        ", type=" + type +
        ", dependencyDefinitions=" + dependencyDefinitions +
        ", isAbstract=" + isAbstract +
        '}';
  }
}
